package cuentas;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;


public class Ventana extends JFrame implements ActionListener{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	JList list1;
	DefaultListModel listModel1=new DefaultListModel();//aca voy a agregar los datos q quiero se vean en mi JList.
	JList list2;
	DefaultListModel listModel2=new DefaultListModel();
	JList list3;
	DefaultListModel listModel3=new DefaultListModel();
	JLabel lbl1;
	JButton btniniciar;
	JButton btnfinalizar;
	
	static int nro=0;
	IThreadOperaciones itr;
	
public Ventana(){
	
	this.setTitle("2do parcial - Tema 3 - Landa LU. 102869");
	this.setVisible(true);
	//this.setSize(500,500);
	this.setResizable(false);
	
	
	btniniciar=new JButton("Iniciar");
	btnfinalizar=new JButton("Finalizar");
	lbl1=new JLabel("Presione Iniciar...");
	
	//paneles adicionales para poder acomodar mis componentes
	
	JPanel p1=new JPanel();
	p1.setLayout(new FlowLayout());
	p1.setSize(new Dimension(50,500));
	
	
	btniniciar.setPreferredSize(new Dimension(100,30));
	btnfinalizar.setPreferredSize(new Dimension(100,30));
	lbl1.setPreferredSize(new Dimension(300,30));
	
	p1.add(lbl1);
	p1.add(btniniciar);
	p1.add(btnfinalizar);
	
	//ahora armo el panel con las jlist una arriba y otra abajo
	
	
	
	JPanel p2=new JPanel();
	//p2.setLayout(new GridLayout(1,1,10,10));
	//p2.setLayout(new FlowLayout());
	p2.setLayout(new BorderLayout());
	
	p2.setSize(new Dimension(200,200));
	
	list2=new JList(listModel2);
	list2.setPreferredSize(new Dimension(210,100));
	JScrollPane sp2=new JScrollPane(list2);
	list3 = new JList(listModel3);
	list3.setPreferredSize(new Dimension(210,100));
    JScrollPane sp3 = new JScrollPane(list3);
 
  
    p2.add(sp2, BorderLayout.NORTH);
    p2.add(sp3, BorderLayout.SOUTH);
	
	//ahora seteo la otra jlist
      
    list1=new JList(listModel1);
    list1.setPreferredSize(new Dimension(280,200));
    JScrollPane sp1=new JScrollPane(list1);
    
    
  
    
    //ahora acomodo todos en la vista final
	
	Container c=this.getContentPane();
	c.setLayout(new BorderLayout());
	c.setVisible(true);
	
	
	c.add(sp1,BorderLayout.WEST);
	c.add(p2, BorderLayout.EAST);
	c.add(p1, BorderLayout.SOUTH);
	
	/*//Para probar q funcionan las listas...
	
	listModel1.addElement("Elemento 1");
	listModel2.addElement("Elemento 1");
	listModel3.addElement("Elemento 1");
	listModel1.addElement("Elemento 2");
	listModel2.addElement("Elemento 2");
	listModel3.addElement("Elemento 2");
	listModel1.addElement("Elemento 3");
	listModel2.addElement("Elemento 3");
	listModel3.addElement("Elemento 3");*/
	
	//agrego los action listener a los botones
	
	btniniciar.addActionListener(this);
	btnfinalizar.addActionListener(this);
	
	
	this.pack();
	this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	

}
	
	public void actionPerformed(ActionEvent e) {
		
		if(e.getActionCommand().equalsIgnoreCase("FINALIZAR")){
		dispose();
		}
		
		if(e.getActionCommand().equalsIgnoreCase("Iniciar")){
			//aca arrancan los threads
			
			lbl1.setText("Inicio del proceso...");
			
			CajaAhorro ca = new CajaAhorro(this,nro,itr);
			nro=nro+ca.getCant();
			CuentaCorriente cc = new CuentaCorriente(this,nro,itr);
			nro=nro+cc.getCant();
			new Resumen(this, itr);
			
			
			
			
			lbl1.setText("Fin del proceso");
			
			
		}
		
	}

}
